package com.atguigu.exam;

import java.util.HashSet;
import java.util.Iterator;

/**
 * 新闻一：中国多地遭雾霾笼罩空气质量再成热议话题
 新闻二：民进党台北举行“火大游行”
 新闻三：春节临近北京“卖房热”
 新闻四：春节临近北京“卖房热”
 完成如下要求（共50分，每小题10分）：
 1）完成对新闻类的设计，要求在初始化新闻类对象时 ，通过构造传参的形式对新闻标题赋值，并要求实例化四个对象，标题内容如题。
 2）要求打印新闻对象时，直接打印新闻标题；
 3）要求使用equals方法比较新闻时，只要标题相同，就认为是同一新闻，请输出新闻一与新闻二的比较结果，新闻三与新闻四的比较结果。
 4）将新闻对象存入HashSet集合中，并且遍历集合，打印新闻类对象；
 5）打印集合中新闻数量。
 *
 * @author xbd
 * @create 2021-05-28 11:42
 */
public class NewsTest {
    public static void main(String[] args) {
        News n1 = new News("中国多地遭雾霾笼罩空气质量再成热议话题");
        News n2 = new News("民进党台北举行“火大游行");
        News n3 = new News("春节临近北京“卖房热”");
        News n4 = new News("春节临近北京“卖房热”");

        HashSet hs = new HashSet();

        hs.add(n1);
        hs.add(n2);
        hs.add(n3);
        hs.add(n4);

        System.out.println(n1.equals(n2));
        System.out.println(n3.equals(n4));

        Iterator iterator = hs.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
        System.out.println(hs.size());
    }
}

class News{
    private String title;
    private String author;
    private String contain;
    private String time;

    public News(String title) {
        this.title = title;
    }

    @Override
    public String toString() {
        return "News{" +
                "title='" + title + '\'' +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        News news = (News) o;

        return title.equals(news.title);
    }

    @Override
    public int hashCode() {
        return title.hashCode();
    }
}